package mx.com.theboard.notas;

import java.util.Date;

import mx.com.theboard.menu.BotonMenu;

import com.vaadin.ui.Alignment;
import com.vaadin.ui.Button;
import com.vaadin.ui.GridLayout;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Label;
import com.vaadin.ui.TextField;
import com.vaadin.ui.VerticalLayout;
import com.vaadin.ui.Window;

public class TBNota extends Window {
	private TextField titulo;
	private Label fecha;
	private BotonMenu editar;
	private BotonMenu basura;
	private VerticalLayout contenido;
	private HorizontalLayout footer;
	
	
	
	public TBNota(){
		super();
		this.center();
		this.setClosable(false);
		this.setWidth("400px");
		this.setHeight("350px");
		
		
		
		VerticalLayout contenedor = new VerticalLayout();
		contenedor.setWidth("100%");
		contenedor.setHeight("100%");
		contenedor.setSizeFull();
		contenedor.setMargin(false);
		contenedor.setSpacing(false);
	
				
		
		contenedor.addComponent(this.getHeader());
		
		this.initContenido();	
		contenedor.addComponent(contenido);
		contenedor.setComponentAlignment(contenido, Alignment.BOTTOM_CENTER);

		this.addComponent(contenedor);
		
	}
	
	private void initContenido(){
		contenido = new VerticalLayout();
		contenido.setStyleName("tbcontenidonota");
		contenido.setWidth("100%");
		contenido.setHeight("100%");
		contenido.setSizeFull();	
	}
	
	private void initTitulo(){
		titulo = new TextField();
		titulo.setWidth("100%");
		titulo.setStyleName("tbtitulonota");
		titulo.setInputPrompt("Titulo de la nota");
	}
	
	private void initFecha(){
		fecha = new Label((new Date()).toString());
	}
	
	private VerticalLayout getNombreFecha(){
		VerticalLayout vl = new VerticalLayout();
		vl.setMargin(false);
		vl.setSpacing(false);
		
		this.initTitulo();
		vl.addComponent(titulo);
		
		this.initFecha();
		vl.addComponent(fecha);	
		return vl;
	}
	
	private GridLayout getHeader(){
		editar = new BotonEditarNota();		
		basura = new BotonBasuraNota();
		
		GridLayout top = new GridLayout(2,1);	
		top.addComponent(this.getNombreFecha());
		top.setColumnExpandRatio(0, 1.0f);
		top.setColumnExpandRatio(1, 0);
		
		HorizontalLayout botones = new HorizontalLayout();					
		botones.addComponent(editar);
		botones.addComponent(basura);
		botones.setWidth("70px");
		
		top.addComponent(botones);				
		top.setWidth("100%");
		
		return top;
	}

	public TBNota(String titulostr){
		this();
		if(titulostr != null)
			titulo.setValue(titulostr);
	}

	public TextField getTitulo() {
		return titulo;
	}


	public void setTitulo(TextField titulo) {
		this.titulo = titulo;
	}


	public Label getFecha() {
		return fecha;
	}


	public void setFecha(Label fecha) {
		this.fecha = fecha;
	}


	public BotonMenu getEditar() {
		return editar;
	}


	public void setEditar(BotonMenu editar) {
		this.editar = editar;
	}


	public BotonMenu getBasura() {
		return basura;
	}


	public void setBasura(BotonMenu basura) {
		this.basura = basura;
	}


	public VerticalLayout getContenido() {
		return contenido;
	}


	public void setContenido(VerticalLayout contenido) {
		this.contenido = contenido;
	}


	public HorizontalLayout getFooter() {
		return footer;
	}


	public void setFooter(HorizontalLayout footer) {
		this.footer = footer;
	}
	
	

}
